package com.traffic.fuwu.util;


import java.util.ArrayList;
import java.util.List;

import com.traffic.fuwu.mybatis.pojo.Module;
import com.traffic.fuwu.vo.ModuleBo;

/**
 * Created by Churcy on 2017/1/6.
 */
public class ModuleUtil {


    public static List createTree(List<Module> moduleList) {
        List<ModuleBo> moduleBoList = new ArrayList<>();
        for (Module module : moduleList) {
            if (module.getParentId() == 0) {
                ModuleBo moduleBo = new ModuleBo();
                moduleBo.setId(module.getId());
                moduleBo.setModuleIcon(module.getModuleIcon());
                moduleBo.setModulePath(module.getModulePath());
                moduleBo.setModuleName(module.getModuleName());
                List<ModuleBo> moduleItems = getChildren(module, moduleList);
                moduleBo.setModuleItems(getChildren(module, moduleList));
                moduleBoList.add(moduleBo);
            }

        }

        return moduleBoList;
    }

    /**
     * 封装子节点
     *
     * @param module
     * @param moduleList
     * @return
     */
    private static List<ModuleBo> getChildren(Module module, List<Module> moduleList) {
        List<ModuleBo> moduleItems = new ArrayList<>();
        for (Module temp : moduleList) {
            if (module.getId() == (temp.getParentId())) {
                ModuleBo moduleBo = new ModuleBo();
                if(null != temp.getId() && !temp.getId().equals("null")){
                	 moduleBo.setId(temp.getId());
                }
                moduleBo.setModuleIcon(temp.getModuleIcon());
                moduleBo.setModulePath(temp.getModulePath());
                moduleBo.setModuleName(temp.getModuleName());
                moduleItems.add(moduleBo);
            }
        }
        return moduleItems;
    }
}


